package leecode;

/**
 * 第23天
 */
public class LeetCode23 {
    public int majorityElement(int[] nums) {
        int k=nums[0];
        int count=1;
        for (int i = 1; i < nums.length; i++) {
            if(nums[i]!=k){
                count--;
                if(count==0){
                    k=nums[i+1];
                }
            }else {
                count++;
            }
        }
        return k;
    }
    //第二题
    public int[] constructArr(int[] a) {
        int[]arr=new int[a.length];
        //从左向右遍历，累乘到每个目标的前一个，不要乘它
        for (int i = 0,cur=1; i < a.length; i++) {
            arr[i]=cur;
            cur=cur*a[i];
        }
        //从右向左，累乘到每个目标的前一个，不要乘它.
        for (int i = a.length-1,cur=1; i >=0 ; i--) {
            arr[i]*=cur;
            cur*=a[i];
        }
        return arr;
    }
}
